package com.service;

import com.model._do.AppointmentDO;
import com.model._do.EquipmentDO;
import com.model._do.SignUpDO;
import com.model._do.UserDO;
import com.model.dto.AppointPastDTO;
import com.model.dto.SuperviseDTO.AppointInfo;
import com.model.dto.SuperviseDTO.Search.AppointSearch;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public interface AppointmentService {

    public List<AppointmentDO> getAppointByDocAndEqu(SignUpDO sign, UserDO doctor) throws Exception;

    public List<AppointmentDO> getAppointByEntityId(EquipmentDO equipmentDO);

    public List<AppointmentDO> getAppointByUser(UserDO user);

    public List<AppointmentDO> getEntityUnAviliTime(AppointmentDO appoint);

    public List<AppointPastDTO> getAppointPast(String entityId);

    public List<AppointmentDO> getAppointIfExist(String doctorId, String equipId);

    public List<AppointInfo> getAppointInfo(AppointSearch search);

    public HashMap<String, Integer> getPie();

    public void doAppointmentEquDoc(AppointmentDO appointment);

    public void doConfirmAppoint(AppointmentDO appointment);

    public void doConfirmOverAppoint(AppointmentDO appointment);

    public void doAgreeAppoint(AppointmentDO appoint);

    public void doRejectAppoint(AppointmentDO appoint) throws Exception;
}
